Hello Everyone! Malevolence is my fourth project refined for my GAM 495 Capstone Programming course at Southern New Hampshire University. This demo puts the player in an abandoned hospital that is burning down. The player must locate key items to open locked doors and escape through the exit point. Careful navigation is important because making the wrong move could harm or even kill the in-game character. Throughout the demo, character dialogue, as well as audio and visual details, provide the player with an unsettling feeling as they explore the hospital and uncover small details that tell a story about what previously happened before your arrival. As the player, it is up to you to gain the courage to explore and find your way out of here.

Tools:
 Microsoft Visual Studio, Unreal Engine 4, Maya, Mudbox, Pixabay (audio), Freesound (audio), Mixamo

Skills:
C++ Scripting, Experience with Unreal Engine's API's, Experience Combining Scripts and Blueprints, Implementation of Problem-Solving Techniques, Experience 3D Modeling Assets
When it comes to horror sequences, there are three things that create an immersive experience and build atmosphere. Lighting, audio, and visual details that tell a story within their own design. Various locations around the hospital contain a red ominous glow in a dark room, some lights are flashing as if they are not working correctly, and other areas are dark that they might require a flashlight at times. Spots and events such as these are perfect for implementing audio for making the player anxious as they explore or by providing unexpected jump scares. I also created 3D models of rusted doors, boards with stained blood, and various other objects that tell a story in their design and placement.
Providing the player with some background as to their location, objective, and their playable capabilities is important. This location has many locked doors with only a few key items allowing the player to pass through some of these areas. Using in-game dialogue helps the player narrow in on what specific objects and locations are important. I did this by providing a point light to some important objects and also color coating the dialogue with specific objects.
Using Unreal Engine's blueprints and UI widgets, I was able to create item prompts using locked and unlocked doors, healing items, or even key items.
Box collisions and overlapping events with the first-person character were important to enabling the widgets to appear and disappear. Giving the player access to opening a door requires a little more in-depth work to include a timeline that moves the actor or door's location. Providing variables such as if the player has a key item or not would allow or prevent the character to open a specific door and provide different responses depending on these variables.
One example of this is if a player tries to open a door without the proper key item, they will be informed of the item they need and that it is locked. If the player has the required item, this instance shows a dynamic material instance of the keycard reader turning from red to green with an audio cue at the actor's location notifying that the variable provided has allowed the active player to pass through.
A damage and healing system has been created for the first-person character. Healing is applied through the med kits placed around the hospital and provide the player with 10% health. Colliding with the box collisions for the fire will damage the player. If damaged enough the player will die and be prompted with a "lose" screen asking if the player wishes to retry or not. Using Microsoft Visual Studio, I was able to create a script that applies 20% damage to the player's health and will cause audio to commence at the player's position.
I created audio blueprints with the get actor location function and equipped it with a collision box. When I placed them in the map, I moved the collision box where the player would overlap it and set the default scene to be where I wanted the sound to come from. This made it easy to create creepy sounds that seem like they came from behind the player or from the other side of a wall. I was also able to incorporate some of the previously used variables such as if the player has a key item or not. This would make it so that the sounds once the player collided would not fire off until they had the specific item. All of this together made it fun to create unsettling moments or even jump scare sequences.
As always, I wish to show my gratitude for the various software that provide me with the capabilities to practice various game development features. Especially the resources provided through SNHU, websites, and other software that allow me to express my creative freedom. This is something I love doing and hope to only get better as I continue to educate and practice well into the future through personal work or even a potential career.
Reflection Narrative

    This artifact was created in my GAM-312 Scripting in C++ for Games course at Southern New Hampshire University. I started this project in August of 2022 and was granted permission to refine and polish this artifact for my GAM-495 Game Programming Capstone course. This project focuses on having the player locate and utilize key items necessary for unlocking rooms or pathways to reach the exit point from within a burning abandoned hospital. A damage system is in place which provides the players with the capabilities and potential of taking damage when navigating through the flames to access specific key items. This creates the potential of death if the player is not careful, and their health bar reaches zero. The hospital itself tells a story behind the mystery of what previously happened before the player showed up by utilizing audio and visual details. These audio and visual details were used to create a horrifying atmosphere that constantly keeps the player on edge and makes them feel unsettled while traversing into unexplored areas around the map.
    I included this artifact into my ePortfolio because it demonstrates my abilities to use both programming and the use of blueprints, my skills in 3D modeling various assets, the utilization of UI features through character dialogue to tell a story, and the implementation of audio cues to create a suspenseful demo. Also, it demonstrates a part of my personality with my love for horror games. I had the most fun creating this project and put in most of my experience in comparison to the other projects I have displayed so far. One component that was programmed involved coding flames to provide damage to the player if they were to overlap the box components attached to the root scene. I also programmed a med kit pickup/destroy item that allows the player to gain health when overlapping and using the interact key. Using blueprints for some of the doors and keys I created using Maya and Mudbox, I was able to use the keys as variables to determine whether a door/pathway could be accessed or not and what UI widgets would display whenever the player was interacting with it. Using UI, I created character dialogue that would temporarily disable player input and prompt widgets across the screen to provide objectives or internal dialogue from the character. This created a sense of connection and immersion while I also created audio cues for when a player overlapped a certain box collision. Utilizing some of these key variables I designated when these cues would go off. For example, some audio would not play until a key item was picked up. A lot of these creative elements alone were useful, but when combined in unison it created a fun and playable experience that captured the intended tone.
    Reflecting on the creation process for this artifact, I learned a lot about how to use key items as variables to determine whether a character can access certain locations or for specific events to occur once obtaining these necessary items. This allowed me to create gameplay based on puzzle elements or to create audio sequences that only occur when the player is progressing through the game. The challenging parts I faced with this artifact and feedback presented was over creating different lighting structures that correctly displayed when implementing a dynamic material instance. I would often have light fixtures that were producing a red hue in the room and be made of a white light. I fixed this by changing the structure entirely to be a simple mesh object with the selected material. Then I created point two-point lights and adjusted the radius height and added a rotating movement. This eliminated the use of a dynamic material instance, created a new light fixture, and accurately matched the color of the object and the lighting it provided in the various rooms or locations it was placed within.
Malevolence
Published: